package trabajoLab3;


import java.sql.DriverManager;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

public class Usuario implements InterfazUsuario{

	private int idUsuario;
	private String nombre;
	private String apellido;
	private String mail;
	private String direccion;
	private Date fechaNacimiento;
	
	public Usuario(String nombre,String apellido,String mail,String direccion,String fechaNacimiento){
		this.nombre= nombre;
		this.apellido=apellido;
		this.mail = mail;
		this.direccion = direccion;
		DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		try {
			this.fechaNacimiento  = formatter.parse(fechaNacimiento);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}
	
	public int getIdUsuario() {
		return idUsuario;
	}
	public void setIdUsuario(int idUsuario) {
		this.idUsuario = idUsuario;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApellido() {
		return apellido;
	}
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
	public String getMail() {
		return mail;
	}
	public void setMail(String mail) {
		this.mail = mail;
	}
	public String getDireccion() {
		return direccion;
	}
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}
	public Date getFechaNacimiento() {
		return fechaNacimiento;
	}
	public void setFechaNacimiento(Date fechaNacimiento) {
		this.fechaNacimiento = fechaNacimiento;
	}
	
	
	
	//metodos de la interfaz de conexion con la BD
	public void guardarUsuario(){
		try {
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/tplabdsba?" +"user=root");
		
			java.sql.Date sqlDate = new java.sql.Date(this.fechaNacimiento.getTime());

			Statement  stmt = conn.createStatement();
			
			String consulta = "INSERT INTO usuarios "+
			"Values (NULL,'"+this.nombre+"','"+this.apellido+"','"+this.mail+"','"+this.direccion+"','"+sqlDate+"');";

			stmt.executeUpdate(consulta);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
	}
	public void recuperarUsuario(int idUsuario){
		
		
	}
	public void actualizarUsuario(int idUsuario){
		
		Connection conn;
		try {
			conn = DriverManager.getConnection("jdbc:mysql://localhost/tplabdsba?" +"user=root");
			
			java.sql.Date sqlDate = new java.sql.Date(this.fechaNacimiento.getTime());

			Statement  stmt = conn.createStatement();
			
			String consulta = "UPDATE usuarios "+
								"set nombre='"+this.nombre+"', "+
									"apellido='"+this.apellido+"', "+
									"direccion='"+this.direccion+"', "+
									"mail='"+this.mail+"', "+
									"fechaNacimiento='"+sqlDate+"' "+
								"where idUsuario=1 ";
			
			stmt.executeUpdate(consulta);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}	
	}
	public void borrarUsuario(int idUsuario){
		
	}
	
}
